<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Parser</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Parser"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Parser rootpage-Parser skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Parser</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>Ein <b>Parser</b> [<style data-mw-deduplicate="TemplateStyles:r227981795">
/* start https://de.wikipedia.org/ */
.mw-parser-output .IPA a{text-decoration:none}
/* end https://de.wikipedia.org/ */
</style><span class="navigation-not-searchable"><span class="IPA"><a href="Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">ˈpɑːʁzɐ</span></a></span></span>] (<span style="font-style:normal;font-weight:normal"><a href="Englische_Sprache" title="Englische Sprache">englisch</a></span> <span lang="en-Latn" style="font-style:italic">to parse</span> „analysieren“, bzw. <span style="font-style:normal;font-weight:normal"><a href="Latein" title="Latein">lateinisch</a></span> <span lang="la-Latn" style="font-style:italic">pars</span> „Teil“; im Deutschen gelegentlich auch <b>Zerteiler</b>) ist ein <a href="Computerprogramm" title="Computerprogramm">Computerprogramm</a>, das in der <a href="Informatik" title="Informatik">Informatik</a> für die Zerlegung und Umwandlung einer Eingabe in ein für die Weiterverarbeitung geeigneteres Format zuständig ist. Häufig werden Parser eingesetzt, um im Anschluss an den Analysevorgang die <a href="Formale_Semantik" title="Formale Semantik">Semantik</a> der Eingabe zu erschließen und daraufhin Aktionen durchzuführen.
</p><p>Im Vergleich zu einem <a href="Recognizer" title="Recognizer">Recognizer</a>, der die Eingabe analysiert und ausgibt, ob diese im Sinne der Vorgaben <i>richtig</i> oder <i>falsch</i> ist, gibt der Parser die Analyse einer Eingabe in einer gewünschten Form aus und erzeugt zusätzlich Strukturbeschreibungen.
</p><p>Die Syntaxanalyse <i>(Parsing)</i> findet auch außerhalb der Informatik Anwendung, z. B. bei der Untersuchung der Struktur von <a href="Nat%C3%BCrliche_Sprache" title="Natürliche Sprache">natürlichen Sprachen</a>. In der <a href="Grammatik" title="Grammatik">Grammatik</a> würde die Syntaxanalyse eines Satzes dem Zerlegen des Satzes in seine grammatikalischen Bestandteile (<a href="Syntax" title="Syntax">Syntax</a>) entsprechen (siehe dazu <a href="Linguistik" class="mw-redirect" title="Linguistik">Linguistik</a>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Anwendung_und_Beispiele">Anwendung und Beispiele</h2></div>
<p>Im Allgemeinen wird ein Parser dazu verwendet, einen Text in eine neue Struktur zu übersetzen, z. B. in einen <a href="Syntaxbaum" title="Syntaxbaum">Syntaxbaum</a>, welcher die Hierarchie zwischen den Elementen ausdrückt.
</p>
<ul><li><a href="Hypertext_Markup_Language" title="Hypertext Markup Language">HTML</a>-Code besteht aus reinem Text. Der in einem <a href="Webbrowser" title="Webbrowser">Webbrowser</a> enthaltene Parser erstellt daraus den logischen Aufbau als Datenstruktur. Das Aussehen dieser Elemente wird getrennt via <a href="Cascading_Style_Sheets" title="Cascading Style Sheets">CSS</a> definiert.</li>
<li><a href="RSS-Parser" title="RSS-Parser">RSS-Parser</a> wandeln <a href="RSS_(Web-Feed)" title="RSS (Web-Feed)">RSS</a>-Feeds in ein anderes Datenformat, beispielsweise für eine HTML-Seite.</li>
<li><a href="XML-Parser" class="mw-redirect" title="XML-Parser">XML-Parser</a> analysieren <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a>-Dokumente und stellen die darin enthaltenen Informationen (also Elemente, Attribute usw.) für die weitere Verarbeitung zur Verfügung.</li>
<li><a href="Uniform_Resource_Identifier" title="Uniform Resource Identifier">URI</a>-Parser lösen Schemata wie <a href="Uniform_Resource_Locator" title="Uniform Resource Locator">URLs</a> in ihren hierarchischen Aufbau auf (siehe dazu RFC 3986<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>).</li>
<li><a href="Logdatei" title="Logdatei">Logdatei</a>-Parser dienen zum Extrahieren von relevanten Informationen aus <a href="Webserver" title="Webserver">Webserver</a>-Protokolldateien, Ereignisprotokollen und anderer in Logdateien gespeicherter Informationen zur automatisierten Analyse.</li>
<li>Suchmaschinen parsen Webseiten und <a href="Webcrawler" title="Webcrawler">crawlen</a> relevante Textpassagen.</li>
<li>Auslesen einer <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a>. Aus der erhaltenen Datenstruktur kann ein <a href="Compiler" title="Compiler">Compiler</a> dann Maschinencode bzw. <a href="Bytecode" title="Bytecode">Bytecode</a> erzeugen.</li>
<li>Ein <a href="Kommandozeileninterpreter" title="Kommandozeileninterpreter">Kommandozeileninterpreter</a> parst Befehle mitsamt deren Parameter für die korrekte Ausführung der Anweisungen des Benutzers (z. B. via <a href="COMMAND.COM" title="COMMAND.COM">COMMAND.COM</a>).</li>
<li>In <a href="Textadventure" class="mw-redirect" title="Textadventure">Textadventures</a> erfolgt die Steuerung der Spielfigur über die Eingabe von Befehlen in natürlicher Sprache, z. B. „Schließe die Haustür mit dem Hausschlüssel auf“. Der Parser greift auf eine Datenbank aller manipulierbarer Objekte im Spiel zu und analysiert, welche Interaktion mit welchen Objekten der Spielwelt der Spieler mit seiner Befehlseingabe meinte.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Funktionsweise">Funktionsweise</h2></div>
<p>Zur Analyse des Texts verwenden Parser in der Regel einen separaten <a href="Lexikalische_Analyse" title="Lexikalische Analyse">Lexer</a> (auch <i>lexikalischer Scanner</i> genannt). Dieser zerlegt die (als simple <a href="Zeichenkette" title="Zeichenkette">Zeichenkette</a> vorliegenden) Eingabedaten in <a href="Token_(%C3%9Cbersetzerbau)" title="Token (Übersetzerbau)">Token</a> (Eingabesymbole bzw. „Wörter“, die der Parser versteht); weil die Zerlegung in Token einer <a href="Regul%C3%A4re_Grammatik" title="Reguläre Grammatik">regulären Grammatik</a> folgt, ist der Scanner meist ein <a href="Endlicher_Automat" title="Endlicher Automat">endlicher Automat</a>. Diese Token dienen als atomare Eingabezeichen des Parsers. Parser, die keinen separaten Scanner verwenden, werden <i>Scannerless parsers</i> genannt.
</p><p>Der eigentliche Parser als <a href="Implementierung" title="Implementierung">Implementierung</a> eines abstrakten <a href="Automat_(Informatik)" title="Automat (Informatik)">Automaten</a> (meist realisiert als <a href="Kellerautomat" title="Kellerautomat">Kellerautomat</a>) kümmert sich dagegen um die Grammatik der Eingabe, führt eine <a href="Syntax" title="Syntax">syntaktische</a> Überprüfung der Eingangsdaten durch und erstellt in der Regel aus den Daten einen <a href="Ableitungsbaum" class="mw-redirect" title="Ableitungsbaum">Ableitungsbaum</a> (in Anlehnung an das Englische gelegentlich auch als <i>Parse-Baum</i> bezeichnet). Dieser wird danach zur Weiterverarbeitung der Daten verwendet; typische Anwendungen sind die semantische Analyse, <a href="Codegenerierung" class="mw-redirect" title="Codegenerierung">Codegenerierung</a> in einem <a href="Compiler" title="Compiler">Compiler</a> oder Ausführung durch einen <a href="Interpreter" title="Interpreter">Interpreter</a>.
</p><p>Bei HTML würde ein lexikalischer Scanner die HTML-Datei in <a href="Tag_(Informatik)" title="Tag (Informatik)">HTML-Tags</a> und <a href="Flie%C3%9Ftext" title="Fließtext">Fließtext</a> zerlegen und diese Bestandteile an den Parser weiterreichen – d. h. den Scanner „interessiert“ nur das Aussehen der Syntaxelemente („wenn es in spitzen Klammern steht, ist es ein HTML-Tag“). Der Parser dagegen verarbeitet die syntaktischen Zusammenhänge, d. h. untersucht, welche Paare von Tags zusammengehören bzw. wie die Tags ineinander verschachtelt sind; die inhaltliche Bedeutung der Tags interessiert den Parser dagegen nicht, sondern wird erst von der darauf folgenden Weiterverarbeitung berücksichtigt.
</p><p>Anschaulich dargestellt ist ein Parser diejenige Software, welche die Anweisungen im <a href="Quelltext" title="Quelltext">Quelltext</a> des Anwenders überprüft, weiterverarbeitet und weiterleitet.
</p>
<div class="mw-heading mw-heading2"><h2 id="Parser-Typen">Parser-Typen</h2></div>
<p>Man unterscheidet verschiedene Parse-Verfahren. Dabei wird nach genereller
Vorgehensweise, also der Unterscheidung nach der Reihenfolge, in der die
Knoten des Ableitungsbaums erstellt werden
(<a href="Top-down_und_Bottom-up" title="Top-down und Bottom-up">top-down</a>, auch <i>theoriegetriebenes Parsing</i> oder
<a href="Top-down_und_Bottom-up" title="Top-down und Bottom-up">bottom-up</a>, auch <i>eingabegetriebenes Parsing,</i> sowie <i>left corner</i>), spezifischer Vorgehensweise (LL, LR, SLR, LALR, LC, …) und Implementierungstechnik (<a href="Rekursiver_Abstieg" title="Rekursiver Abstieg">rekursiv absteigend</a>, rekursiv aufsteigend oder tabellengesteuert) unterschieden. Weiter wird auch nach Grammatikart unterschieden.
</p>
<div class="mw-heading mw-heading3"><h3 id="Parser_für_kontextfreie_Grammatiken"><span id="Parser_f.C3.BCr_kontextfreie_Grammatiken"></span>Parser für kontextfreie Grammatiken</h3></div>
<p>Hier ein paar auf <a href="Kontextfreie_Grammatik" title="Kontextfreie Grammatik">kontextfreien Grammatiken</a> basierende Verfahren:
</p>
<ul><li>Top-Down-Parser
<ul><li><a href="LF-Parser" title="LF-Parser">LF-Parser</a></li>
<li><a href="LL-Parser" title="LL-Parser">LL-Parser</a></li></ul></li>
<li><a href="Bottom-up-Parser" title="Bottom-up-Parser">Bottom-up-Parser</a>
<ul><li><a href="LR-Parser" title="LR-Parser">LR-Parser</a></li>
<li>SLR-Parser</li>
<li><a href="LALR-Parser" title="LALR-Parser">LALR-Parser</a></li></ul></li>
<li><a href="Chart-Parser" title="Chart-Parser">Chart-Parser</a></li>
<li>Left-Corner-Parser
<ul><li>LC-Parser</li></ul></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Parser_für_kontextsensitive_Grammatiken"><span id="Parser_f.C3.BCr_kontextsensitive_Grammatiken"></span>Parser für kontextsensitive Grammatiken</h3></div>
<ul><li>Packrat Parser (Parsing Expression Grammars)</li></ul>
<p>Das Parsen wohldefinierter künstlicher Sprachen (siehe <a href="Formale_Sprache" title="Formale Sprache">formale Sprachen</a>, <a href="Programmiersprache" title="Programmiersprache">Programmiersprachen</a>) ist weniger komplex als das Parsen frei gewachsener <a href="Nat%C3%BCrliche_Sprache" title="Natürliche Sprache">natürlicher Sprachen</a> wie Englisch oder Deutsch, die durch eine Vielzahl von <a href="Mehrdeutigkeit" title="Mehrdeutigkeit">Mehrdeutigkeiten</a>, Irregularitäten und Inkonsistenzen geprägt sind. Siehe hierzu auch <a href="Computerlinguistik" title="Computerlinguistik">Computerlinguistik</a> und <a href="Dependenzparsing" title="Dependenzparsing">Dependenzparsing</a>.
</p><p><i>Hinweis:</i> Der Begriff <i>parsen</i> sollte nicht mit dem Begriff <i><a href="Kompilierung" class="mw-redirect" title="Kompilierung">kompilieren</a></i> verwechselt werden. Letzteres erzeugt einen Zielcode aus einem Quellcode, dabei wird unter anderem auch geparst, darüber hinaus finden aber weitere Aktionen statt.
</p>
<div class="mw-heading mw-heading2"><h2 id="Beispiel">Beispiel</h2></div>
<p>Parser werden häufig eingesetzt, um aus einer Aneinanderreihung von Symbolen eine Baumstruktur zu machen. Ein typisches Beispiel dafür sind mathematische Ausdrücke wie
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2+(2+2)-\sin(\pi )}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>2</mn>
<mo>+</mo>
<mo stretchy="false">(</mo>
<mn>2</mn>
<mo>+</mo>
<mn>2</mn>
<mo stretchy="false">)</mo>
<mo>−<!-- − --></mo>
<mi>sin</mi>
<mo><!-- --></mo>
<mo stretchy="false">(</mo>
<mi>π<!-- π --></mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 2+(2+2)-\sin(\pi )}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/e45c188cc904b6b1c0f2f7406175c17f1683410d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:19.815ex; height:2.843ex;" alt="{\displaystyle 2+(2+2)-\sin(\pi )}" loading="lazy"></span>.</dd></dl>
<p>Dieser Ausdruck, so wie er hier steht, besteht erstmal nur aus einer Reihe von Symbolen. Es ist die Aufgabe eines <a href="Tokenizer" class="mw-redirect" title="Tokenizer">Tokenizers</a> als Teil eines Parsers, diese Symbole (zum Beispiel in <a href="Leserichtung" class="mw-redirect" title="Leserichtung">Leserichtung</a> von links nach rechts) zu identifizieren und einzuordnen. Das Ergebnis ist eine <a href="Liste_(Datenstruktur)" title="Liste (Datenstruktur)">Liste</a>, die im Folgenden als Tabelle dargestellt wird und Zeile für Zeile zu lesen ist:
</p>
<table class="wikitable">
<tbody><tr class="hintergrundfarbe5">
<th>Symbol</th>
<th>Kategorie</th>
<th>Erläuterung
</th></tr>
<tr>
<td>2</td>
<td>Zahl</td>
<td>
</td></tr>
<tr>
<td>+</td>
<td>Rechenzeichen</td>
<td>
</td></tr>
<tr>
<td>(</td>
<td>Klammer auf</td>
<td>
</td></tr>
<tr>
<td>2</td>
<td>Zahl</td>
<td>
</td></tr>
<tr>
<td>+</td>
<td>Rechenzeichen</td>
<td>
</td></tr>
<tr>
<td>2</td>
<td>Zahl</td>
<td>
</td></tr>
<tr>
<td>)</td>
<td>Klammer zu</td>
<td>
</td></tr>
<tr>
<td>-</td>
<td>Rechenzeichen</td>
<td>
</td></tr>
<tr>
<td>sin</td>
<td>Symbolname</td>
<td>(hier: die <a href="Sinus" class="mw-redirect" title="Sinus">Sinus</a>-Funktion)
</td></tr>
<tr>
<td>(</td>
<td>Klammer auf</td>
<td>
</td></tr>
<tr>
<td>π</td>
<td>Symbolname</td>
<td>(hier: die <a href="Kreiszahl" title="Kreiszahl">Kreiszahl</a> π)
</td></tr>
<tr>
<td>)</td>
<td>Klammer zu</td>
<td>
</td></tr></tbody></table>
<p>Die (weitere) Aufgabe des Parsers ist nun, die zugrundeliegende Struktur dieser Symbolfolge zu erkennen. Häufig geschieht das in Form eines <a href="Parsebaum" class="mw-redirect" title="Parsebaum">Parsebaums</a> (<i>abstrakter Syntaxbaum</i>), der in diesem Fall so aussehen kann:
</p><p><span typeof="mw:File"></span>
</p><p>Dies ist die Ausgabe eines einfachen Parsers. Diese Ausgabe kann nun durch weitere Programme analysiert werden.
</p>
<div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2></div>
<ul><li><a href="Compilerbau" title="Compilerbau">Compilerbau</a></li>
<li><a href="Parsergenerator" title="Parsergenerator">Parsergenerator</a></li>
<li><a href="Generative_Programmierung" title="Generative Programmierung">Generative Programmierung</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>A. W. Appel: <i>Modern Compiler Implementation in Java.</i> Cambridge 1998.</li>
<li>Paul Bennett: <i>A Course in Generalized Phrase Structure Grammar.</i> UCL Press, London 1995, ISBN 1-85728-217-5.</li>
<li>Robert D. Borsley: <i>Syntactic Theory. A unified approach.</i> Edward Arnold, London 1991. 2. überarbeitete Auflage: 1998, ISBN 0-340-70610-4. Deutsche Übersetzung: <i>Syntax-Theorie. Ein zusammengefasster Zugang.</i> Niemeyer Verlag, Tübingen 1997, ISBN 3-484-22055-4.</li>
<li>Sven Naumann, Hagen Langer: <i>Parsing.</i> Teubner Verlag, 1994.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<div class="sisterproject" style="margin:0.1em 0 0 0;"><span class="noviewer" style="display:inline-block; line-height:10px; min-width:1.6em; text-align:center;" aria-hidden="true" role="presentation"><span class="mw-default-size" typeof="mw:File"><span title="Wiktionary"></span></span></span><b><a href="https://de.wiktionary.org/wiki/Parser" class="extiw external" title="wikt:Parser">Wiktionary: Parser</a></b> – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen</div>
<ul><li><a rel="nofollow" class="external text" href="https://github.com/MathosProject/Mathos-Parser">Mathos Parser</a> – mathematical expression parser in C# (englisch)</li>
<li><a rel="nofollow" class="external text" href="https://www.dickgrune.com/Books/PTAPG_1st_Edition/">Parsing Techniques – A Practical Guide</a> (englisch)</li>
<li><a rel="nofollow" class="external text" href="https://www.cis.lmu.de/~leiss/parsing-06-07/parsingfolien.pdf">Syntaxanalyse (Parsing)</a> (<a href="PostScript" title="PostScript">PS</a>)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <style data-mw-deduplicate="TemplateStyles:r250917974">
/* start https://de.wikipedia.org/ */
.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/Link.ernal-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}
/* end https://de.wikipedia.org/ */
</style><span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc3986" class="extiw external" title="rfc:3986">3986</a></span></i> – <i><span lang="en">Uniform Resource Identifier (URI): Generic Syntax</span></i>. Januar 2005 (englisch).</span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-06-26" href="https://de.wikipedia.org/wiki/?title=Parser&oldid=257381609">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>